shell中| ; &的优先级
|
的优先级要高于;
date; who |wc
2016年 11月 22日 星期二 22:16:32 CST 1 5 45
你会发现只有who的结果送到了wc命令.
可以使用括号来组合命令
(date;who) |wc
2 11 88
date与who的结果都送到了wc命令
&
的优先级高于;
date sleep 5;date & date
2016年 11月 22日 星期二 22:17:06 CST 2016年 11月 22日 星期二 22:17:11 CST 2016年 11月 22日 星期二 22:17:11 CST
你会发现终端卡住了5秒后才输出两次date的日期
date (sleep 5;date)& date
2016年 11月 22日 星期二 22:17:27 CST 2016年 11月 22日 星期二 22:17:27 CST 2016年 11月 22日 星期二 22:17:32 CST
这次终端没有被卡住,5秒后只输出了一次date的日期
|
的优先级高于&
&
字符表示命令的终止,而|
是命令的一部分,因此安排管道线到后台执行的时候可以不用括号.date who |wc & date
2016年 11月 22日 星期二 22:17:47 CST 1 5 45 2016年 11月 22日 星期二 22:17:47 CST